package com.ruoyi.server.api.booking.service;

import java.util.List;

import com.ruoyi.server.api.booking.domain.ImgBooking;

/**
 * 预约到店Service接口
 *
 * @author lx
 * @date 2024-10-22
 */
public interface IImgBookingService {
    /**
     * 查询预约到店
     *
     * @param id 预约到店主键
     * @return 预约到店
     */
    public ImgBooking selectImgBookingById(Long id);

    /**
     * 查询预约到店列表
     *
     * @param imgBooking 预约到店
     * @return 预约到店集合
     */
    public List<ImgBooking> selectImgBookingList(ImgBooking imgBooking);

    /**
     * 新增预约到店
     *
     * @param imgBooking 预约到店
     * @return 结果
     */
    public int insertImgBooking(ImgBooking imgBooking);

    /**
     * 修改预约到店
     *
     * @param imgBooking 预约到店
     * @return 结果
     */
    public int updateImgBooking(ImgBooking imgBooking);

    /**
     * 批量删除预约到店
     *
     * @param ids 需要删除的预约到店主键集合
     * @return 结果
     */
    public int deleteImgBookingByIds(Long[] ids);

    /**
     * 删除预约到店信息
     *
     * @param id 预约到店主键
     * @return 结果
     */
    public int deleteImgBookingById(Long id);

    /**
     * @param imgBooking
     * @Author Lx
     * @Description 新增预约方法
     * @Date 2024/10/24 11:02
     * @Return int
     */
    int saveBooking(ImgBooking imgBooking);

    /**
     * @param userId
     * @Author Lx
     * @Description 根据用户id查询预约信息列表
     * @Date 2024/10/24 11:03
     * @Return java.util.List<com.ruoyi.server.api.booking.domain.ImgBooking>
     */
    List<ImgBooking> selectImgBookingListByuserId(String userId);

    /**
     * @Author Lx
     * @Description 查询预约信息列表
     * @Date 2024/10/24 11:03
     * @Return java.util.List<com.ruoyi.server.api.booking.domain.ImgBooking>
     */
    List<ImgBooking> selectBoikings();

    /**
     * @param id
     * @Author Lx
     * @Description 更新预约状态的方法
     * @Date 2024/10/24 11:03
     * @Return int
     */
    int updateBookingStatus(Long id);

    /**
    * @Author Lx
    * @Description 根据userId查询预约信息数据
    * @Date 2024/11/29 10:10
    * @Return java.util.List<com.ruoyi.server.api.booking.domain.ImgBooking>
    * @param userId
    */
    List<ImgBooking> selectBookingsByUser(String userId);

    /**
    * @Author Lx
    * @Description 根据id删除预约信息
    * @Date 2024/11/29 10:12
    * @Return int
    * @param id
    */
    int deleteBookingById(Long id);

    int completeOrder(Long id);
}
